home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glxchoosefbconfigsgix.z / glxchoosefbconfigsgix
Encoding:
Text File  |  2002-10-03  |  45.0 KB  |  595 lines

  1.  
  2.  
  3.  
  4. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX - return a list of GLX frame buffer configurations
  10.      that match the specified attributes
  11.  
  12.  
  13. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  14.      GLXFBConfigSGIX * ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX( Display *_d_p_y,
  15.                                               int _s_c_r_e_e_n,
  16.                                               int *_a_t_t_r_i_b__l_i_s_t,
  17.                                               int *_n_i_t_e_m_s )
  18.  
  19.  
  20. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  21.      _d_p_y          Specifies the connection to the X server.
  22.  
  23.  
  24.      _s_c_r_e_e_n       Specifies the screen number.
  25.  
  26.  
  27.      _a_t_t_r_i_b__l_i_s_t  Specifies a list of attribute/value pairs.  The last
  28.                   attribute must be NNNNoooonnnneeee.
  29.  
  30.  
  31.      _n_i_t_e_m_s       Returns the number of elements in the list returned by
  32.                   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX.
  33.  
  34.  
  35. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  36.      If _a_t_t_r_i_b__l_i_s_t is NNNNUUUULLLLLLLL then ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX returns an array of GLX
  37.      frame buffer configurations that are available on the specified screen;
  38.      otherwise ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX returns an array of GLX frame buffer
  39.      configurations that match the specified attributes. If an error occurs,
  40.      no frame buffer configurations exist on the specified screen, or if no
  41.      frame buffer configurations match the specified attributes, then NNNNUUUULLLLLLLL is
  42.      returned.  Use XXXXFFFFrrrreeeeeeee to free the memory returned by
  43.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX.
  44.  
  45.      All attributes in _a_t_t_r_i_b__l_i_s_t, including boolean attributes, are
  46.      immediately followed by the corresponding desired value. The list is
  47.      terminated with NNNNoooonnnneeee. If an attribute is not specified in _a_t_t_r_i_b__l_i_s_t
  48.      then the default value (see below) is used (and the attribute is said to
  49.      be specified implicitly). For example, if GGGGLLLLXXXX____SSSSTTTTEEEERRRREEEEOOOO is not specified
  50.      then it is assumed to be FFFFaaaallllsssseeee. For some attributes, the default is
  51.      "don't care" meaning that any value is OK for this attribute, so the
  52.      attribute will not be checked.
  53.  
  54.      Attributes are matched in an attribute-specific manner.  Some of the
  55.      attributes, such as GGGGLLLLXXXX____LLLLEEEEVVVVEEEELLLL, must match the specified value exactly;
  56.      others, such as, GGGGLLLLXXXX____RRRREEEEDDDD____SSSSIIIIZZZZEEEE must meet or exceed the specified minimum
  57.      values. If more than one GLX frame buffer configuration is found, then a
  58.      list of configurations, sorted according to the "best" match criteria, is
  59.      returned. The match criteria for each attribute and the exact sorting
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      order is defined below.
  75.  
  76.      The interpretations of the various GLX visual attributes are as follows:
  77.  
  78.      GGGGLLLLXXXX____BBBBUUUUFFFFFFFFEEEERRRR____SSSSIIIIZZZZEEEE          Must be followed by a nonnegative integer that
  79.                               indicates the desired color index buffer size.
  80.                               The smallest index buffer of at least the
  81.                               specified size is preferred.  Ignored if
  82.                               GGGGLLLLXXXX____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX____BBBBIIIITTTT____SSSSGGGGIIIIXXXX is not set in
  83.                               GGGGLLLLXXXX____RRRREEEENNNNDDDDEEEERRRR____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX. The default value is 0.
  84.  
  85.      GGGGLLLLXXXX____LLLLEEEEVVVVEEEELLLL                Must be followed by an integer buffer-level
  86.                               specification.  This specification is honored
  87.                               exactly.  Buffer level zero corresponds to the
  88.                               default frame buffer of the display.  Buffer
  89.                               level one is the first overlay frame buffer,
  90.                               level two the second overlay frame buffer, and
  91.                               so on.  Negative buffer levels correspond to
  92.                               underlay frame buffers.  The default value is 0.
  93.  
  94.      GGGGLLLLXXXX____DDDDOOOOUUUUBBBBLLLLEEEEBBBBUUUUFFFFFFFFEEEERRRR         Must be followed by TTTTrrrruuuueeee or FFFFaaaallllsssseeee. If TTTTrrrruuuueeee is
  95.                               specified then only double-buffered frame buffer
  96.                               configurations are considered; if FFFFaaaallllsssseeee is
  97.                               specified then only single-buffered frame buffer
  98.                               configurations are considered.  The default
  99.                               value is "don't care".
  100.  
  101.      GGGGLLLLXXXX____SSSSTTTTEEEERRRREEEEOOOO               Must be followed by TTTTrrrruuuueeee or FFFFaaaallllsssseeee. If TTTTrrrruuuueeee is
  102.                               specified then only stereo frame buffer
  103.                               configurations are considered; if FFFFaaaallllsssseeee is
  104.                               specified then only monoscopic frame buffer
  105.                               configurations are considered.  The default
  106.                               value is FFFFaaaallllsssseeee.
  107.  
  108.      GGGGLLLLXXXX____AAAAUUUUXXXX____BBBBUUUUFFFFFFFFEEEERRRRSSSS          Must be followed by a nonnegative integer that
  109.                               indicates the desired number of auxiliary
  110.                               buffers.  Configurations with the smallest
  111.                               number of auxiliary buffers that meet or exceed
  112.                               the specified number are preferred.  The default
  113.                               value is 0.
  114.  
  115.      GGGGLLLLXXXX____RRRREEEEDDDD____SSSSIIIIZZZZEEEE             Must be followed by a nonnegative minimum size
  116.                               specification.  If this value is zero, the
  117.                               smallest available red buffer is preferred.
  118.                               Otherwise, the largest available red buffer of
  119.                               at least the minimum size is preferred.  The
  120.                               default value is 0.
  121.  
  122.      GGGGLLLLXXXX____GGGGRRRREEEEEEEENNNN____SSSSIIIIZZZZEEEE           Must be followed by a nonnegative minimum size
  123.                               specification.  If this value is zero, the
  124.                               smallest available green buffer is preferred.
  125.                               Otherwise, the largest available green buffer of
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  137.  
  138.  
  139.  
  140.                               at least the minimum size is preferred.  The
  141.                               default value is 0.
  142.  
  143.      GGGGLLLLXXXX____BBBBLLLLUUUUEEEE____SSSSIIIIZZZZEEEE            Must be followed by a nonnegative minimum size
  144.                               specification.  If this value is zero, the
  145.                               smallest available blue buffer is preferred.
  146.                               Otherwise, the largest available blue buffer of
  147.                               at least the minimum size is preferred.  The
  148.                               default value is 0.
  149.  
  150.      GGGGLLLLXXXX____AAAALLLLPPPPHHHHAAAA____SSSSIIIIZZZZEEEE           Must be followed by a nonnegative minimum size
  151.                               specification.  If this value is zero, the
  152.                               smallest available alpha buffer is preferred.
  153.                               Otherwise, the largest available alpha buffer of
  154.                               at least the minimum size is preferred.  The
  155.                               default value is 0.
  156.  
  157.      GGGGLLLLXXXX____DDDDEEEEPPPPTTTTHHHH____SSSSIIIIZZZZEEEE           Must be followed by a nonnegative minimum size
  158.                               specification.  If this value is zero, frame
  159.                               buffer configurations with no depth buffer are
  160.                               preferred.  Otherwise, the largest available
  161.                               depth buffer of at least the minimum size is
  162.                               preferred.  The default value is 0.
  163.  
  164.      GGGGLLLLXXXX____SSSSTTTTEEEENNNNCCCCIIIILLLL____SSSSIIIIZZZZEEEE         Must be followed by a nonnegative integer that
  165.                               indicates the desired number of stencil
  166.                               bitplanes.  The smallest stencil buffer of at
  167.                               least the specified size is preferred.  If the
  168.                               desired value is zero, frame buffer
  169.                               configurations with no stencil buffer are
  170.                               preferred.  The default value is 0.
  171.  
  172.      GGGGLLLLXXXX____AAAACCCCCCCCUUUUMMMM____RRRREEEEDDDD____SSSSIIIIZZZZEEEE       Must be followed by a nonnegative minimum size
  173.                               specification.  If this value is zero, frame
  174.                               buffer configurations with no red accumulation
  175.                               buffer are preferred.  Otherwise, the largest
  176.                               possible red accumulation buffer of at least the
  177.                               minimum size is preferred.  The default value is
  178.                               0.
  179.  
  180.      GGGGLLLLXXXX____AAAACCCCCCCCUUUUMMMM____GGGGRRRREEEEEEEENNNN____SSSSIIIIZZZZEEEE     Must be followed by a nonnegative minimum size
  181.                               specification.  If this value is zero, frame
  182.                               buffer configurations with no green accumulation
  183.                               buffer are preferred.  Otherwise, the largest
  184.                               possible green accumulation buffer of at least
  185.                               the minimum size is preferred.  The default
  186.                               value is 0.
  187.  
  188.      GGGGLLLLXXXX____AAAACCCCCCCCUUUUMMMM____BBBBLLLLUUUUEEEE____SSSSIIIIZZZZEEEE      Must be followed by a nonnegative minimum size
  189.                               specification.  If this value is zero, frame
  190.                               buffer configurations with no blue accumulation
  191.                               buffer are preferred.  Otherwise, the largest
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  203.  
  204.  
  205.  
  206.                               possible blue accumulation buffer of at least
  207.                               the minimum size is preferred.  The default
  208.                               value is 0.
  209.  
  210.      GGGGLLLLXXXX____AAAACCCCCCCCUUUUMMMM____AAAALLLLPPPPHHHHAAAA____SSSSIIIIZZZZEEEE     Must be followed by a nonnegative minimum size
  211.                               specification.  If this value is zero, frame
  212.                               buffer configurations with no alpha accumulation
  213.                               buffer are preferred.  Otherwise, the largest
  214.                               possible alpha accumulation buffer of at least
  215.                               the minimum size is preferred.  The default
  216.                               value is 0.
  217.  
  218.      GGGGLLLLXXXX____SSSSAAAAMMMMPPPPLLLLEEEE____BBBBUUUUFFFFFFFFEEEERRRRSSSS____SSSSGGGGIIIISSSS  Must be followed by the minimum acceptable
  219.                               number of multisample buffers.  Configurations
  220.                               with the smallest number of multisample buffers
  221.                               that meet or exceed this minimum number are
  222.                               preferred.  Currently operation with more than
  223.                               one multisample buffer is undefined, so only
  224.                               values of zero or one will produce a match.  The
  225.                               default value is 0.
  226.  
  227.      GGGGLLLLXXXX____SSSSAAAAMMMMPPPPLLLLEEEESSSS____SSSSGGGGIIIISSSS         Must be followed by the minimum number of
  228.                               samples required in multisample buffers.
  229.                               Configurations with the smallest number of
  230.                               samples that meet or exceed the specified
  231.                               minimum number are preferred.  Note that it is
  232.                               possible for color samples in the multisample
  233.                               buffer to have fewer bits than colors in the
  234.                               main color buffers.  However, multisampled
  235.                               colors maintain at least as much color
  236.                               resolution in aggregate as the main color
  237.                               buffers.
  238.  
  239.                               The default value is 0.
  240.  
  241.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT Must be followed by one of GGGGLLLLXXXX____NNNNOOOONNNNEEEE____EEEEXXXXTTTT,
  242.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRRGGGGBBBB____EEEEXXXXTTTT,
  243.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____IIIINNNNDDDDEEEEXXXX____EEEEXXXXTTTT.  If GGGGLLLLXXXX____NNNNOOOONNNNEEEE____EEEEXXXXTTTT is
  244.                               specified, then only opaque frame buffer
  245.                               configurations will be considered; if
  246.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRRGGGGBBBB____EEEEXXXXTTTT is specified, then only
  247.                               transparent frame buffer configurations that
  248.                               support RGBA rendering will be considered; if
  249.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____IIIINNNNDDDDEEEEXXXX____EEEEXXXXTTTT is specified, then
  250.                               only transparent frame buffer configurations
  251.                               that support color index rendering will be
  252.                               considered.  The default value is GGGGLLLLXXXX____NNNNOOOONNNNEEEE____EEEEXXXXTTTT.
  253.  
  254.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____IIIINNNNDDDDEEEEXXXX____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT
  255.                               Must be followed by an integer value indicating
  256.                               the transparent index value; the value must be
  257.                               between 0 and the maximum framebuffer value for
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  269.  
  270.  
  271.  
  272.                               indices.  Only frame buffer configurations that
  273.                               use the specified transparent index value will
  274.                               be considered.  The default value is "don't
  275.                               care".
  276.  
  277.                               This attribute is ignored unless
  278.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT is included in
  279.                               _a_t_t_r_i_b__l_i_s_t and specified as
  280.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____IIIINNNNDDDDEEEEXXXX____EEEEXXXXTTTT.
  281.  
  282.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRREEEEDDDD____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT
  283.                               Must be followed by an integer value indicating
  284.                               the transparent red value; the value must be
  285.                               between 0 and the maximum framebuffer value for
  286.                               red.  Only frame buffer configurations that use
  287.                               the specified transparent red value will be
  288.                               considered.  The default value is "don't care".
  289.  
  290.                               This attribute is ignored unless
  291.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT is included in
  292.                               _a_t_t_r_i_b__l_i_s_t and specified as
  293.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRRGGGGBBBB____EEEEXXXXTTTT.
  294.  
  295.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____GGGGRRRREEEEEEEENNNN____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT
  296.                               Must be followed by an integer value indicating
  297.                               the transparent green value; the value must be
  298.                               between 0 and the maximum framebuffer value for
  299.                               green.  Only frame buffer configurations that
  300.                               use the specified transparent green value will
  301.                               be considered.  The default value is "don't
  302.                               care".
  303.  
  304.                               This attribute is ignored unless
  305.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT is included in
  306.                               _a_t_t_r_i_b__l_i_s_t and specified as
  307.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRRGGGGBBBB____EEEEXXXXTTTT.
  308.  
  309.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____BBBBLLLLUUUUEEEE____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT
  310.                               Must be followed by an integer value indicating
  311.                               the transparent blue value; the value must be
  312.                               between 0 and the maximum framebuffer value for
  313.                               blue.  Only frame buffer configurations that use
  314.                               the specified transparent blue value will be
  315.                               considered.  The default value is "don't care".
  316.  
  317.                               This attribute is ignored unless
  318.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT is included in
  319.                               _a_t_t_r_i_b__l_i_s_t and specified as
  320.                               GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRRGGGGBBBB____EEEEXXXXTTTT.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  335.  
  336.  
  337.  
  338.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____AAAALLLLPPPPHHHHAAAA____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT
  339.                               Must be followed by an integer value.  This
  340.                               attribute is always ignored; it is for future
  341.                               use only.
  342.  
  343.      GGGGLLLLXXXX____VVVVIIIISSSSUUUUAAAALLLL____CCCCAAAAVVVVEEEEAAAATTTT____EEEEXXXXTTTT    Must be followed by one of GGGGLLLLXXXX____NNNNOOOONNNNEEEE____EEEEXXXXTTTT,
  344.                               GGGGLLLLXXXX____SSSSLLLLOOOOWWWW____VVVVIIIISSSSUUUUAAAALLLL____EEEEXXXXTTTT, GGGGLLLLXXXX____NNNNOOOONNNN____CCCCOOOONNNNFFFFOOOORRRRMMMMAAAANNNNTTTT____EEEEXXXXTTTT.  If
  345.                               GGGGLLLLXXXX____NNNNOOOONNNNEEEE____EEEEXXXXTTTT is specified, then only frame
  346.                               buffer configurations with no caveats will be
  347.                               considered; if GGGGLLLLXXXX____SSSSLLLLOOOOWWWW____VVVVIIIISSSSUUUUAAAALLLL____EEEEXXXXTTTT, is specified
  348.                               then only slow frame buffer configurations will
  349.                               be considered; if GGGGLLLLXXXX____NNNNOOOONNNN____CCCCOOOONNNNFFFFOOOORRRRMMMMAAAANNNNTTTT____EEEEXXXXTTTT is
  350.                               specified then only non-conformant frame buffer
  351.                               configurations will be considered.  The default
  352.                               value is "don't care".
  353.  
  354.      GGGGLLLLXXXX____DDDDRRRRAAAAWWWWAAAABBBBLLLLEEEE____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX   Must be followed by a mask indicating which GLX
  355.                               drawable types the frame buffer configuration
  356.                               must support. Valid bits are
  357.                               GGGGLLLLXXXX____WWWWIIIINNNNDDDDOOOOWWWW____BBBBIIIITTTT____SSSSGGGGIIIIXXXX, GGGGLLLLXXXX____PPPPIIIIXXXXMMMMAAAAPPPP____BBBBIIIITTTT____SSSSGGGGIIIIXXXX and
  358.                               GGGGLLLLXXXX____PPPPBBBBUUUUFFFFFFFFEEEERRRR____BBBBIIIITTTT____SSSSGGGGIIIIXXXX.  For example, if mask is
  359.                               set to GGGGLLLLXXXX____WWWWIIIINNNNDDDDOOOOWWWW____BBBBIIIITTTT____SSSSGGGGIIIIXXXX |
  360.                               GGGGLLLLXXXX____PPPPIIIIXXXXMMMMAAAAPPPP____BBBBIIIITTTT____SSSSGGGGIIIIXXXX, only frame buffer
  361.                               configurations that support both windows and GLX
  362.                               pixmaps will be considered.  The default value
  363.                               is GGGGLLLLXXXX____WWWWIIIINNNNDDDDOOOOWWWW____BBBBIIIITTTT____SSSSGGGGIIIIXXXX.
  364.  
  365.      GGGGLLLLXXXX____RRRREEEENNNNDDDDEEEERRRR____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX     Must be followed by a mask indicating which
  366.                               OpenGL rendering modes the frame buffer
  367.                               configuration must support.  Valid bits are
  368.                               GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____BBBBIIIITTTT____SSSSGGGGIIIIXXXX and GGGGLLLLXXXX____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX____BBBBIIIITTTT____SSSSGGGGIIIIXXXX.
  369.                               If the mask is set to GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____BBBBIIIITTTT____SSSSGGGGIIIIXXXX |
  370.                               GGGGLLLLXXXX____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX____BBBBIIIITTTT____SSSSGGGGIIIIXXXX then only frame buffer
  371.                               configurations that can be bound to both RGBA
  372.                               contexts and color index contexts will be
  373.                               considered.  The default value is
  374.                               GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____BBBBIIIITTTT____SSSSGGGGIIIIXXXX.
  375.  
  376.      GGGGLLLLXXXX____XXXX____VVVVIIIISSSSUUUUAAAALLLL____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT    Must be followed by one of GGGGLLLLXXXX____TTTTRRRRUUUUEEEE____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT,
  377.                               GGGGLLLLXXXX____DDDDIIIIRRRREEEECCCCTTTT____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT, GGGGLLLLXXXX____PPPPSSSSEEEEUUUUDDDDOOOO____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT,
  378.                               GGGGLLLLXXXX____SSSSTTTTAAAATTTTIIIICCCC____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT, GGGGLLLLXXXX____GGGGRRRRAAAAYYYY____SSSSCCCCAAAALLLLEEEE____EEEEXXXXTTTT,
  379.                               GGGGLLLLXXXX____SSSSTTTTAAAATTTTIIIICCCC____GGGGRRRRAAAAYYYY____EEEEXXXXTTTT, indicating the desired X
  380.                               visual type.  Not all frame buffer
  381.                               configurations have an associated X visual. If
  382.                               GGGGLLLLXXXX____DDDDRRRRAAAAWWWWAAAABBBBLLLLEEEE____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX is specified in
  383.                               _a_t_t_r_i_b__l_i_s_t and the mask that follows does not
  384.                               have GGGGLLLLXXXX____WWWWIIIINNNNDDDDOOOOWWWW____BBBBIIIITTTT____SSSSGGGGIIIIXXXX set, then this value is
  385.                               ignored. It is also ignored if
  386.                               GGGGLLLLXXXX____XXXX____RRRREEEENNNNDDDDEEEERRRRAAAABBBBLLLLEEEE____SSSSGGGGIIIIXXXX is specified as FFFFaaaallllsssseeee.
  387.  
  388.                               RGBA rendering may be supported for visuals of
  389.                               type GGGGLLLLXXXX____TTTTRRRRUUUUEEEE____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT, GGGGLLLLXXXX____DDDDIIIIRRRREEEECCCCTTTT____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT,
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  401.  
  402.  
  403.  
  404.                               GGGGLLLLXXXX____PPPPSSSSEEEEUUUUDDDDOOOO____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT, or GGGGLLLLXXXX____SSSSTTTTAAAATTTTIIIICCCC____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT,
  405.                               but color index rendering is only supported for
  406.                               visuals of type GGGGLLLLXXXX____PPPPSSSSEEEEUUUUDDDDOOOO____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT or
  407.                               GGGGLLLLXXXX____SSSSTTTTAAAATTTTIIIICCCC____CCCCOOOOLLLLOOOORRRR____EEEEXXXXTTTT (i.e., single-channel
  408.                               visuals).
  409.  
  410.                               The tokens GGGGLLLLXXXX____GGGGRRRRAAAAYYYY____SSSSCCCCAAAALLLLEEEE____EEEEXXXXTTTT and
  411.                               GGGGLLLLXXXX____SSSSTTTTAAAATTTTIIIICCCC____GGGGRRRRAAAAYYYY____EEEEXXXXTTTT will not match current
  412.                               OpenGL enabled visuals, but are included for
  413.                               future use.
  414.  
  415.                               The default value for GGGGLLLLXXXX____XXXX____VVVVIIIISSSSUUUUAAAALLLL____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT is
  416.                               "don't care".
  417.  
  418.      GGGGLLLLXXXX____XXXX____RRRREEEENNNNDDDDEEEERRRRAAAABBBBLLLLEEEE____SSSSGGGGIIIIXXXX    Must be followed by TTTTrrrruuuueeee or FFFFaaaallllsssseeee.  If TTTTrrrruuuueeee is
  419.                               specified, then only frame buffer configurations
  420.                               that have associated X visuals (and can be used
  421.                               to render to Windows and/or GLX pixmaps) will be
  422.                               considered.  The default value is "don't care".
  423.  
  424.      GGGGLLLLXXXX____FFFFBBBBCCCCOOOONNNNFFFFIIIIGGGG____IIIIDDDD____SSSSGGGGIIIIXXXX     Must be followed by an XID for a GLXFBConfig.
  425.                               When GGGGLLLLXXXX____FFFFBBBBCCCCOOOONNNNFFFFIIIIGGGG____IIIIDDDD____SSSSGGGGIIIIXXXX is specified in
  426.                               _a_t_t_r_i_b__l_i_s_t, all other attributes are ignored,
  427.                               and only the frame buffer configuration with the
  428.                               given XID is returned. NNNNUUUULLLLLLLL is returned if the
  429.                               frame buffer configuration does not exist.  The
  430.                               default value for GGGGLLLLXXXX____FFFFBBBBCCCCOOOONNNNFFFFIIIIGGGG____IIIIDDDD____SSSSGGGGIIIIXXXX is "don't
  431.                               care".
  432.  
  433.      When more than one GLX frame buffer configuration matches the specified
  434.      attributes, a list of matching configurations is returned. The list is
  435.      sorted according to the following precedence rules that are applied in
  436.      ascending order (i.e., configurations that are considered equal by lower
  437.      numbered rule are sorted by the higher numbered rule):
  438.      1.  by GLX_VISUAL_RATING_EXT where the precedence is GLX_NONE_EXT,
  439.          GLX_NON_CONFORMANT, GLX_SLOW_VISUAL.
  440.      2.  larger total number of RGBA color components (GLX_RED_BITS,
  441.          GLX_GREEN_BITS, GLX_BLUE_BITS, and GLX_ALPHA_BITS) that have higher
  442.          number of bits,
  443.      3.  smaller GLX_INDEX_BITS,
  444.      4.  single buffered configuration (GLX_DOUBLE_BUFFER being False)
  445.          precedes a double buffered one,
  446.      5.  smaller GLX_AUX_BUFFERS,
  447.      6.  smaller GLX_SAMPLE_BUFFERS_SGIS,
  448.      7.  smaller GLX_SAMPLES_SGIS,
  449.      8.  larger GLX_DEPTH_BITS,
  450.      9.  smaller GLX_STENCIL_BITS,
  451.      10. larger total number of accumulation buffer color components
  452.          (GLX_ACCUM_RED_BITS, GLX_ACCUM_GREEN_BITS, GLX_ACCUM_BLUE_BITS, and
  453.          GLX_ACCUM_ALPHA_BITS) that have higher number of bits;
  454.      11. sort by GLX_VISUAL_TYPE_EXT where the precedence order is
  455.          GLX_TRUE_COLOR_EXT, GLX_DIRECT_COLOR_EXT, GLX_PSEUDO_COLOR_EXT,
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  467.  
  468.  
  469.  
  470.          GLX_STATIC_COLOR_EXT, GLX_GRAY_SCALE_EXT, GLX_STATIC_GRAY_EXT,
  471.  
  472.  
  473. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  474.      _a_t_t_r_i_b__l_i_s_t =
  475.                  {GGGGLLLLXXXX____RRRREEEENNNNDDDDEEEERRRR____TTTTYYYYPPPPEEEE____SSSSGGGGIIIIXXXX, GGGGLLLLXXXX____RRRRGGGGBBBBAAAA____BBBBIIIITTTT____SSSSGGGGIIIIXXXX, GGGGLLLLXXXX____RRRREEEEDDDD____SSSSIIIIZZZZEEEE, 4,
  476.                  GGGGLLLLXXXX____GGGGRRRREEEEEEEENNNN____SSSSIIIIZZZZEEEE, 4, GGGGLLLLXXXX____BBBBLLLLUUUUEEEE____SSSSIIIIZZZZEEEE, 4, NNNNoooonnnneeee};
  477.  
  478.      Specifies a frame buffer configuration that supports RGBA rendering and
  479.      exists in the normal frame buffer, not an overlay or underlay buffer.
  480.      The returned visual supports at least four bits each of red, green, and
  481.      blue, and possibly no bits of alpha.  It does not support stereo display.
  482.      It may or may not have one or more auxiliary color buffers, a back
  483.      buffer, a depth buffer, a stencil buffer, or an accumulation buffer.
  484.  
  485.  
  486. NNNNOOOOTTTTEEEESSSS
  487.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX is part of the GGGGLLLLXXXX____SSSSGGGGIIIIXXXX____ffffbbbbccccoooonnnnffffiiiigggg extension.
  488.  
  489.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX is implemented as a client-side utility; it does
  490.      not require a round-trip to the X server.
  491.  
  492.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX and ggggllllXXXXGGGGeeeettttFFFFBBBBCCCCoooonnnnffffiiiiggggAAAAttttttttrrrriiiibbbbSSSSGGGGIIIIXXXX can be used to
  493.      implement selection algorithms other than the generic one implemented by
  494.      ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX. Call ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX to retrieve all the
  495.      frame buffer configurations on a particular screen or, alternatively, all
  496.      the frame buffer configurations with a particular set of attributes. Next
  497.      call ggggllllXXXXGGGGeeeettttFFFFBBBBCCCCoooonnnnffffiiiiggggAAAAttttttttrrrriiiibbbbSSSSGGGGIIIIXXXX to retrieve additional attributes for the
  498.      frame buffer configurations and then select between them.
  499.  
  500.      GLX implementers are strongly discouraged, but not proscribed, from
  501.      changing the selection algorithm used by ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX.
  502.      Therefore, selections may change from release to release of the client-
  503.      side library.
  504.  
  505.      GGGGLLLLXXXX____SSSSAAAAMMMMPPPPLLLLEEEE____BBBBUUUUFFFFFFFFEEEERRRRSSSS____SSSSGGGGIIIISSSS and GGGGLLLLXXXX____SSSSAAAAMMMMPPPPLLLLEEEESSSS____SSSSGGGGIIIISSSS are not valid attributes
  506.      unless the SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee extension is supported.
  507.  
  508.      GGGGLLLLXXXX____XXXX____VVVVIIIISSSSUUUUAAAALLLL____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT, GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____TTTTYYYYPPPPEEEE____EEEEXXXXTTTT,
  509.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____IIIINNNNDDDDEEEEXXXX____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT, GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____RRRREEEEDDDD____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT,
  510.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____GGGGRRRREEEEEEEENNNN____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT, GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____BBBBLLLLUUUUEEEE____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT, and
  511.      GGGGLLLLXXXX____TTTTRRRRAAAANNNNSSSSPPPPAAAARRRREEEENNNNTTTT____AAAALLLLPPPPHHHHAAAA____VVVVAAAALLLLUUUUEEEE____EEEEXXXXTTTT are not valid attributes unless the
  512.      EEEEXXXXTTTT____vvvviiiissssuuuuaaaallll____iiiinnnnffffoooo extension is supported.
  513.  
  514.      GGGGLLLLXXXX____VVVVIIIISSSSUUUUAAAALLLL____CCCCAAAAVVVVEEEEAAAATTTT____EEEEXXXXTTTT is not a valid attribute unless the
  515.      EEEEXXXXTTTT____vvvviiiissssuuuuaaaallll____rrrraaaattttiiiinnnngggg extension is supported.
  516.  
  517.  
  518. EEEERRRRRRRROOOORRRRSSSS
  519.      NNNNUUUULLLLLLLL is returned if an undefined GLX attribute is encountered in
  520.      _a_t_t_r_i_b__l_i_s_t, if _s_c_r_e_e_n is invalid or if _d_p_y does not support the GLX
  521.      extension.
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXCCCChhhhoooooooosssseeeeFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX((((3333GGGG))))
  533.  
  534.  
  535.  
  536. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  537.      The SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee extension is supported only on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
  538.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems and IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  539.  
  540.  
  541. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  542.      ggggllllXXXXGGGGeeeettttFFFFBBBBCCCCoooonnnnffffiiiiggggAAAAttttttttrrrriiiibbbbSSSSGGGGIIIIXXXX, ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxttttWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX,
  543.      ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXPPPPiiiixxxxmmmmaaaappppWWWWiiiitttthhhhCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX, ggggllllXXXXGGGGeeeettttVVVViiiissssuuuuaaaallllFFFFrrrroooommmmFFFFBBBBCCCCoooonnnnffffiiiiggggSSSSGGGGIIIIXXXX.
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.